# -*- coding:utf-8 -*-
# @FileName : app\api\v1\history\history_service.py
# @Time     : 2025/11/28
# @Author   : 天空之城

"""
History 记录服务 - DEPRECATED

此文件已被弃用，请使用 app.services.history_service.HistoryService 替代。
保留此文件是为了向后兼容，所有新代码请直接导入 app.services.history_service.HistoryService。

原功能已迁移至：
- app.services.history_service.HistoryService.create_history()
- app.services.history_service.HistoryService.update_history()
"""
import warnings
from datetime import datetime

from app.models import History
from app.extensions import db
from app.config import logger
from app.services.history_service import HistoryService as NewHistoryService


class HistoryService:
    """
    History 记录服务 - DEPRECATED
    
    此服务已弃用，请使用 app.services.history_service.HistoryService 替代。
    """
    
    @staticmethod
    def create_history(user_id, title, description="", status="pending", type="normal"):
        """
        创建历史记录 - DEPRECATED
        
        Args:
            user_id (int): 用户ID
            title (str): 任务标题
            description (str, optional): 任务描述，默认为空字符串
            status (str, optional): 任务状态，默认为"pending"
            type (str, optional): 任务类型，默认为"normal"
            
        Returns:
            History: 创建的历史记录对象，如果创建失败则返回None
            
        Raises:
            Exception: 数据库操作失败时记录日志并回滚事务
        """
        warnings.warn(
            "app.api.v1.history.history_service.HistoryService 已弃用，请使用 "
            "app.services.history_service.HistoryService 替代",
            DeprecationWarning,
            stacklevel=2
        )
        
        return NewHistoryService.create_history(
            user_id=user_id,
            title=title,
            description=description,
            status=status,
            type=type
        )
    
    @staticmethod
    def update_history(history_id, **kwargs):
        """
        更新历史任务 - DEPRECATED
        
        Args:
            history_id (int): 历史记录ID
            **kwargs: 要更新的字段和值
            
        Returns:
            History: 更新后的历史记录对象，如果更新失败则返回None
            
        Raises:
            Exception: 数据库操作失败时记录日志并回滚事务
        """
        warnings.warn(
            "app.api.v1.history.history_service.HistoryService 已弃用，请使用 "
            "app.services.history_service.HistoryService 替代",
            DeprecationWarning,
            stacklevel=2
        )
        
        return NewHistoryService.update_history(history_id, **kwargs)